Classical Program Extraction in the Calculus of Constructions
نویسنده
چکیده
We show how to extract classical programs expressed in Krivine λc-calculus from proof-terms built in a proof-irrelevant and classical version of the calculus of constructions with universes. For that, we extend Krivine’s realisability model of classical second-order arithmetic to the calculus of constructions with universes using a structure of Πset which is reminiscent of ω-sets, and show that our realisability model validates Peirce’s law and proof-irrelevance. Finally, we extend the extraction scheme to a primitive data-type of natural numbers in a way which preserves the whole compatibility with the classical realisability interpretation of second-order arithmetic.
منابع مشابه
Extraction de programmes dans le Calcul des Constructions. (Program Extraction in the Calculus of Constructions)
متن کامل
Extending the Calculus of Constructions with Tarski's fix-point theorem
We propose to use Tarski’s least fixpoint theorem as a basis to define recursive functions in the calculus of inductive constructions. This widens the class of functions that can be modeled in typetheory based theorem proving tool to potentially non-terminating functions. This is only possible if we extend the logical framework by adding the axioms that correspond to classical logic. We claim t...
متن کاملInternal Program Extraction in the Calculus of Inductive Constructions
Based on the Calculus of Constructions extended with in-ductive deenitions we present a Theory of Speciications with rules for simultaneously constructing programs and their correctness proofs. The theory contains types for representing speciications, whose corresponding notion of implementation is that of a pair formed by a program and a correctness proof. The rules of the theory are such that...
متن کاملExtracting Programs with Exceptions in an Impredicative Type System
This paper is about exceptions handling using classical techniques of program extraction. We propose an impredicative formalization in the calculus of constructions and we illustrate the technique on two examples. The rst one, though simple, allows us to experiment various techniques. The second one is an adaptation of a bigger algorithm previously developed in Coq by J. Rouyer, namely rst orde...
متن کاملThe Implicit Calculus of Constructions as a Programming Language with Dependent Types
In this paper, we show how Miquel’s Implicit Calculus of Constructions (ICC) can be used as a programming language featuring dependent types. Since this system has an undecidable type-checking, we introduce a more verbose variant, called ICC∗ which fixes this issue. Datatypes and program specifications are enriched with logical assertions (such as preconditions, postconditions, invariants) and ...
متن کامل